package com.qf.dao;

import com.qf.pojo.Product;

import java.sql.SQLException;
import java.util.List;

/**
 * @author 高圆圆
 * @date 2023/6/2 11:20
 * 商品的数据访问接口
 */
public interface ProductDao {

    /**
     * 数据访问接口查询最新商品
     * @return 返回9条商品数据
     */
    List<Product> selectnewProducts() throws SQLException;


    /**
     * 数据访问接口查询热门商品
     * @return 返回9条商品数据
     */
    List<Product> selecthotProducts() throws SQLException;

    /**
     * 根据商品id查询指定商品
     * @param pid 商品编号
     * @return 返回商品实体
     */
    Product selectProductByPid(String pid) throws SQLException;

    /**
     * 通过商品的分类id获取总记录数
     * @param cid 商品分类id
     * @return 返回总记录数
     */
    int getTotalCount(String cid) throws SQLException;

    /**
     * 数据访问接口完成商品分页查询
     * @param cid  分类id
     * @param start 起始行数
     * @param pageSize 每页显示的条数
     * @return 返回商品分页信息列表
     */
    List<Product> selectProductByPage(String cid, int start, int pageSize) throws SQLException;

    /**
     * 获取商品的总记录数
     * @return 返回总记录数
     */
    int selectTotalCount() throws SQLException;

    /**
     * 管理员获取商品分页数据
     * @param currentPage 当前页码
     * @param pageSize 每页显示的条数
     * @return
     */
    List<Product> selectProducts(int currentPage, int pageSize) throws SQLException;
}
